﻿namespace Ficharts.Net
{
    using System.ComponentModel;

    /// <summary>
    /// 坐标轴基类
    /// </summary>
    [TypeConverter(typeof(ExpandableObjectConverter))]
    public abstract class AxisBase
    {
        /// <summary>
        /// 标题，此坐标轴名称.
        /// </summary>
        /// <value>
        /// The title.
        /// </value>
        [AxisElement]
        public string Title { get; set; }

        /// <summary>
        /// 标签排版方式，默认为 normal水平显示, 旋转倾斜为rotation, 垂直显示为vertical.
        /// </summary>
        /// <value>
        /// The label display.
        /// </value>
        [AxisElement]
        public string LabelDisplay { get; set; }

        /// <summary>
        /// 反向坐标轴数值方向，默认为false, x轴数值从左向右，y轴从下到上；设置为true后数值排列反向.
        /// </summary>
        /// <value>
        /// The inverse.
        /// </value>
        [AxisElement]
        public string Inverse { get; set; }

        /// <summary>
        /// 坐标轴位置，x轴默认为bottom; y轴默认为left。多坐标轴时默认左右/上下均衡分布坐标轴，通过定义此参数可明确定义坐标轴位置，再配合inverse参数可达到坐标象限配置（我们默认看到的图表都在第一象限）.
        /// </summary>
        /// <value>
        /// The position.
        /// </value>
        [AxisElement]
        public string Position { get; set; }

        /// <summary>
        /// 坐标轴唯一标识符，默认单对坐标轴(一个x轴，一个y轴)时无需定义，定义多坐标轴时会用到。id值与序列中xAxis/yAxis值关联，表示此序列的坐标轴(x/y)为匹配id的坐标轴.
        /// </summary>
        /// <value>
        /// The id.
        /// </value>
        [AxisElement]
        public string Id { get; set; }

        /// <summary>
        /// 是否显示坐标轴，默认为true, 如果想看坐标轴裸奔就给它false一下.
        /// </summary>
        /// <value>
        /// The enable.
        /// </value>
        [AxisElement]
        public string Enable { get; set; }
    }
}
